1. Field of the Invention
The present invention relates to the field of memory transfers of information. Specifically the present invention relates to the field of memory to memory transfers of information within a computer system that may be specially adapted for pattern recognition applications.
2. Prior Art
The ability to store and accurately recognize patterns is a particularly good application for general computer systems. Computer systems offer the unique ability to process at high speeds specialized procedures and information formats that are developed for the field of pattern recognition. Using pattern recognition technology, a computer system can be advantageously utilized to respond to variable patterns of information (such as handwritten characters and voice) rather than rigid input devices, such as a keyboard input device. Using such technology, a computer system can be utilized to recognize visible patterns, such as pictures and video frame, or audible patterns, such as voice and other sounds, or movement patterns such as handwriting. Computer systems that process the vast amount of information required to perform pattern recognition applications must provide adequate mechanisms for rapid and efficient movement of information between memory devices. It would be advantageous, then, to provide a computer system with an efficient mechanism for transferring information quickly and without consuming valuable computation time which can be useful in conjunction with a pattern recognition system. The present invention offers such capability.
Typically, a library of reference or prototype patterns may be stored within the memory storage devices of a general purpose computer system implemented by software for pattern recognition. Each library pattern is further composed of many individual points or states that, in total, comprise the pattern representation; this format of points or states also constitutes an input unknown pattern or patterns. These known library reference patterns are then individually compared against the input patterns. The general purpose computer systems of the prior art are programmed to individually compare, point by point, or state by state, the individual components of a particular reference pattern to the individual components of the input unknown pattern. This continues for each reference pattern in the library of patterns involving a large amount of repetitive processing tasks and predictable movement of different information from memory store to memory store. For each pattern a match path is developed that indicates the level of identity between the unknown and the reference patterns. Reference patterns with good match paths are then selected by the computer system as candidates for a resultant match. The computer system then analyzes each of the reported candidates to determine which is best matched the unknown input pattern. It would be advantageous to provide an efficient system to rapidly transfer prototype information from a base or reference library into a working memory area for direct comparisons without consuming valuable processing time from execution units that perform the unknown pattern to reference pattern comparisons. The present invention offers such advantageous capability.
Heretofore, data cache systems have been employed for more efficient data access to and from predetermined destination and source addresses. Although cache memory transfer systems may operate advantageously in some applications, they are not necessarily effective in the realm of pattern recognition applications particularly in the area of information transfer of reference patterns and results between alternate memory stores. This is the case because data cache systems take advantage of the fact that often the same information is accessed sequentially and this often reused information may be stored in a special memory ("cache") for quick access over and over again. In other words, a cache based system exploits data "locality" where data is used and stored in a special location to be used over again. However, in the area of pattern recognition, the unknown information pattern is rarely duplicative of a prior unknown pattern. And if possibly duplicative, the occurrence is very rare and would never justify the complexity of a data cache. Furthermore, each of the reference libraries, by definition, are different and therefore a cache would not contribute greatly to the processing efficiency of transferring such reference patterns. There would be no reason to include duplicate reference patterns within the same library. Each of the library reference patterns are unique and thus add more intelligence to any pattern recognition system that utilizes the library. Further, since the input comparison information is not similar from pattern to pattern, the results of these comparisons are not duplicative either. These results must be transferred from the recognition engine to some alternative or temporary storage area. Therefore, since the information transfers involved within pattern recognition systems are not duplicative, and the same data is not constantly reused, a data cache system does not offer advantageous capabilities within this environment.
It would be advantageous to provide a memory transfer capability that would provide rapid and efficient transfer of information that may not be related sequentially or duplicative in any way, while not consuming valuable processing time. The present invention offers such capability. It would further be advantageous to offer such a system within a pattern recognition system. The present invention offers such functionality.
Accordingly, it is an object of the present invention to provide a memory transfer system for transferring information from one set or sets of memory locations to another set or sets of memory locations in an efficient and rapid method. It is further an object of the present invention to provide such a memory transfer operation within a general purpose computer system that is specially optimized for pattern recognition applications. It is further an object of the present invention to provide a memory to memory transfer system that can efficiently transfer pattern information that may not be related sequentially or duplicative in any way (i.e., pattern information that does not have the property of data locality). It is further an object of the present invention to provide such a memory transfer system that does not consume valuable computer processing time that is being used in a pattern recognition procedure for comparing a set of values representative of an unknown pattern to sets of values representative of reference patterns. It is an object of the present invention to provide a memory to memory transfer system that integrates to a pen based computer system to provide a more efficient system for handwriting recognition. It is an object of the present invention to provide a memory to memory transfer system that integrates to a general purpose computer system to provide a more efficient system for voice recognition. It is further an object of the present invention to provide a memory to memory transfer capability that may be substantially programmer controlled rather than hardware controlled (such as a cache unit).